Not Applicable
Long distance telephone facilities usually comprise four-wire transmission circuits between switching offices in different local exchange areas, and two-wire circuits within each area connecting individual subscribers with the switching office. A call between subscribers in different exchange areas is carried over a two-wire circuit in each of the areas and a four-wire circuit between the areas, with conversion of speech energy between the two and four-wire circuits being effected by hybrid circuits. Ideally, the hybrid circuit input ports perfectly match the impedances of the two and four-wire circuits, and its balanced network impedance perfectly matches the impedance of the two-wire circuit. In this manner, the signals transmitted from one exchange area to the other will not be reflected or returned to the one area as echo. Unfortunately, due to impedance differences which inherently exist between different two and four-wire circuits, and because impedances must be matched at each frequency in the voice band, it is virtually impossible for a given hybrid circuit to perfectly match the impedances of any particular two and four-wire transmission circuit. Echo is, therefore, characteristically part of a long distance telephone system.
Although undesirable, echo is tolerable in a telephone system so long as the time delay in the echo path is relatively short, for example, shorter than about 40 milliseconds. However, longer echo delays can be distracting or utterly confusing to a far end speaker, and to reduce the same to a tolerable level an echo canceller may be used toward each end of the path to cancel echo which otherwise would return to the far end speaker. As is known, echo cancellers monitor the signals on the receive channel of a four-wire circuit and generate estimates of the actual echoes expected to return over the transmit channel. The echo estimates are then applied to a subtractor circuit in the transmit channel to remove or at least reduce the actual echo.
In simplest form, generation of an echo estimate comprises obtaining individual samples of the signal on the receive channel, convolving the samples with the impulse response of the system and then subtracting, at the appropriate time, the resulting products or echo estimates from the actual echo on the transmit channel. In actual practice generation of an echo estimate is not nearly so straightforward.
Transmission circuits, except those which are purely resistive, exhibit an impulse response that has amplitude and phase dispersive characteristics that are frequency dependent, since phase shift and amplitude attenuation vary with frequency. To this end, a suitable known technique for generating an echo estimate contemplates manipulating representations of a plurality of samples of signals which cause the echo and samples of impulse responses of the system through a convolution process to obtain an echo estimate which reasonably represents the actual echo expected on the echo path. One such system is illustrated in FIG. 1.
In the system illustrated in FIG. 1. a far end signal x from a remote telephone system is received locally at line 10. As a result of the previously noted imperfections in the local system, a portion of the signal x is echoed back to the remote site at line 15 along with the signal v from the local telephone system. The echo response is illustrated here as a signal s corresponding to the following equation:
s=x*h
where h is the impulse response of the echo characteristics. As such, the signal sent from the near end to the far end, absent echo cancellation, is the signal y, which is the sum of the telephone signal v and the echo signal s. This signal is illustrated as v at line 15 of FIG. 1.
To reduce and/or eliminate the echo signal component s from the signal y, the system of FIG. 1 uses an echo canceller having an impulse response filter {overscore (h)} that is the estimate of the impulse echo response h. As such, a further signal {overscore (s)} representing an estimate of echo signal s is generated by the echo canceller in accordance with the following equation:
{overscore (s)}={overscore (h)}*x
The echo canceller subtracts the echo estimate signal {overscore (s)} from the signal s to generate a signal e at line 20 that is returned to the far end telephone system. The signal e thus corresponds to the following equation:
e=s+vxe2x88x92{overscore (s)}≈v
As such, the signal returned to the far end station is dominated by the signal v of the near end telephone system. As the echo impulse response {overscore (h)} more closely correlates to the actual echo response h, then {overscore (s)} more closely approximates s and thus the magnitude of the echo signal component s on the signal e is more substantially reduced.
The echo impulse response model {overscore (h)} may be replaced by an adaptive digital filter having an impulse response ĥ. Generally, the tap coefficients for such an adaptive response filter are found using a technique known as Normalized Least Mean Squares adaptation, although other Mean Squares processes may also be used (e.g., RLS, NLMS, etc.).
Although such an adaptive echo canceller architecture provides the echo canceller with the ability to readily adapt to changes in the echo path response h, it is highly susceptible to generating sub-optimal echo cancellation responses in the presence of xe2x80x9cdouble talkxe2x80x9d (a condition that occurs when both the speaker at the far end and the speaker at the near end are speaking concurrently as determined from the viewpoint of the echo canceller).
To reduce this sensitivity to double-talk conditions, it has been suggested to use both a non-adaptive response and an adaptive response filter in a single echo canceller. One such echo canceller is described in U.S. Pat. No. 3,787,645, issued to Ochiai et al on Jan. 22, 1974. Such an echo canceller is now commonly referred to as a dual-H echo canceller.
Although the dual-H echo canceller architecture of the ""645 patent provides substantial improvements over the use of a single filter response architecture, the ""645 patent is deficient in many respects and lacks certain teachings for optimizing the use of such a dual-H architecture in a practical echo canceller system. The present inventors have recognized the problems associated with the foregoing dual-H architecture and have provided solutions to these problems.
An echo canceller circuit for use in an echo canceller system is set forth. The echo canceller circuit comprises a first digital filter having non-adaptive tap coefficients to simulate an echo response occurring during a call. A second digital filter having adaptive tap coefficients to simulate an echo response occurring during the call is also used. The adaptive tap coefficients of the second digital filter are updated over the duration of the call. A coefficient transfer controller is disposed in the echo canceller circuit to transfer the adaptive tap coefficients of the second digital filter to replace the tap coefficients of the first digital filter when a value, Ê, is greater than a value, {overscore (E)}, and, concurrently, when Ê is greater than a value, Emax. The value of {overscore (E)} corresponds to the ratio between a signal-plus-echo signal and a first echo compensated signal using the first digital filter. The value of Ê corresponds to the ratio between the signal-plus-echo signal and a second echo compensated signal using the second digital filter. The value of Emax corresponds to the largest Ê experienced over at least a portion of the duration of the call at which a transfer occurred.
A method for transferring tap coefficients between an adaptive digital filter and a non-adaptive digital filter of a dual-H echo canceller during a call is also set forth. According to the method, a comparison is made between the value of Ê and the value of {overscore (E)}. Further, a comparison is also made between the value of Ê the value of Emax. Transfer of the adaptive tap coefficients of the adaptive digital filter to replace the tap coefficients of the non-adaptive digital filter occurs when Ê is greater than {overscore (E)} and, concurrently, Ê is greater than Emax.